#ifndef IMAGEDOWNLOADER_H
#define IMAGEDOWNLOADER_H

#include <QObject>
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include <QPixmap>
#include <QString>
#include <QDialog>
#include <QLabel>
#include <QNetworkRequest>
#include <QFile>
#include <QDialog>
#include <QMainWindow>
#include <QVBoxLayout>
#include <QProgressBar>
#include <QPushButton>
#include <QStatusBar>
#include <QPixmap>
#include <QDebug>

QT_BEGIN_NAMESPACE
namespace Ui { class ImageDownloader; }
QT_END_NAMESPACE
class ImageDownloader : public QDialog
{
    Q_OBJECT

public:
    explicit ImageDownloader(const QString &parameter,QWidget *parent = nullptr);
    ~ImageDownloader();


    // 下载特定URL的图片
    void downloadQiniuImage(QLabel *targetLabel);

    // 下载任意URL的图片

    void downloadImage(const QString &url, QLabel *targetLabel);

    private slots:
    void onImageDownloaded();
    void onDownloadProgress(qint64 bytesReceived, qint64 bytesTotal);

private:
    QNetworkAccessManager *m_networkManager;
    QLabel *m_currentLabel;  // 当前要显示图片的标签
    QString m_qiniuUrl;      // 七牛云图片URL
    Ui::ImageDownloader *img;

};

#endif // IMAGEDOWNLOADER_H
